package com.algorithm;

/**
 * 爬楼梯
 */
public class ClimbingStairs {

    /**
     * 动态规格（素组)
     * @param n
     * @return
     */
    public static int climbStairs(int n) {
        if (n==1){
            return 1;
        }
        int [] nums=new int[n];
        nums[0]=1;
        nums[1]=2;
        for (int i = 2; i <= nums.length-1; i++) {
            nums[i]=nums[i-1]+nums[i-2];
        }
        return nums[n-1];
    }

    /**
     * 规律对着  效率太低（递归）
     * @param n
     * @return
     */
    public static int getData(int n){
        if (n==1){
            return 1;
        }
        if (n==2){
            return 2;
        }
        return getData(n-1)+getData(n-2);
    }
    public static void main(String[] args) {
        int n=2;
        int result = climbStairs(n);
        System.out.println(result);
    }
}
